package com.lanou3g.demo.mapper;

import com.lanou3g.demo.common.ResultWrapper;
import com.lanou3g.demo.entity.RoleInfo;
import com.lanou3g.demo.entity.RoleModule;
import com.lanou3g.demo.entity.ex.RoleWithModule;

import java.util.List;
import java.util.Map;

/**
 * 角色管理模块的映射器
 */
public interface RoleInfoMapper {
    /**
     * 查询一共有多少个角色
     *
     * @return
     */
    int roleQuantity();
    /**
     * 查询所有的角色对应的模块
     *
     * @return
     */
    List<RoleWithModule> findRoleWithModule(Map map);

    // 查询所有的角色
    List<RoleInfo> findAllRole();

    // 根据id查找管理员信息
    RoleInfo findRoleById(Integer roleId);

    // 增加一个角色的信息
    int addOneRole(RoleInfo roleInfo);

    // 增加一个角色模块的信息
    int addRoleOneModule(RoleModule roleModule);

    // 删除一个角色信息(role_info表)
    int delRole(Integer roleId);

    //删除一个角色对应的模块(role_module表)
    int delRoleModule(Integer roleId);

    // 更新一个角色信息
    int updRole(Map map);
}
